home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 27 / CU Amiga Magazine's Super CD-ROM 27 (1998)(EMAP Images)(GB)[!][issue 1998-10].iso / CUCD / PowerPC / WarpUP3.1 / WarpUP-WarpOS / History.txt < prev    next >
Text File  |  1998-08-09  |  33KB  |  607 lines

  1.  
  2. *******************************************************************************
  3. *
  4. *               Welcome to warp speed!
  5. *
  6. *               powerpc.library/WarpOS history
  7. *
  8. *               milestones:
  9. *               V8.0  - first internal release of WarpOS. powerpc.library is
  10. *                       running under WarpOS from now on.
  11. *               V9.0  - PPC native memory management / exception handler
  12. *                       support
  13. *               V10.0 - MMU + BAT support implemented / PPC-Enforcer
  14. *                       Reincarnation of VOXELSPACE
  15. *               V11.0 - Virtual signal system / native msg handling
  16. *               V12.0 - Memory protection support / InterCPU msg handling
  17. *                       CyberStormPPC support
  18. *               ***  Official Release  ***
  19. *               V13.0 - Debugger support / Demos equipped with window support
  20. *               V14.0 - Dynamic scheduler / Hardware driver concept
  21. *                       BlizzardPPC support
  22. *               V14.6 - C- and BVision Support
  23. *
  24. *******************************************************************************
  25.  
  26.  4. 6.97        - first internal release
  27.                 - V8.0
  28.  
  29.  5. 6.97        - new memory management, based on mempools, inserted
  30.                   (old implementation linked to exec/AllocVec disabled)
  31.  
  32.                   Thanks a lot to Michael Rock for the implementation of
  33.                   this memory management!
  34.                 - V8.1
  35.  
  36.  7. 6.97        - New memory management routines locked by semaphores
  37.                 - OpenLibrary patch implemented to prevent WarpOS from
  38.                   being killed by ELF applications.
  39.                 - New mirror tasks now get the priority of its partner
  40.                   task instead of 0.
  41.                 - New library functions 'Super' and 'User' to switch
  42.                   between supervisor and user mode.
  43.                 - New library function 'SetHardware' to affect some
  44.                   CPU related resources (i.e. trace mode)
  45.                 - V8.2
  46.  
  47.  8. 6.97        - If no tasks are running/ready, the PPC enters a
  48.                   power saving mode (nap mode)
  49.                 - New library function 'ModifyFPExc' allows to set/clear
  50.                   the exception enable bits in the FPSCR to enable/disable
  51.                   particular FP exceptions
  52.                 - New flag for CreateTaskPPC: TASKATTR_MOTHERPRI. Allows
  53.                   child tasks to inherit the priority of the mother task
  54.                 - New tools to set/clear global breakpoints: ibreak and
  55.                   dbreak (dbreak only for 604[e])
  56.  
  57.  9. 6.97        - Priority of WarpOS system task 'Enterprise' changed to 1
  58.                 - New library functions 'SetExcHandler' and 'RemExcHandler'
  59.                   allow to insert/remove custom exception handler (comparable
  60.                   to exec/AddIntServer)
  61.                 - New memory management system temporarly disabled because of
  62.                   linker problems.
  63.                 - V9.0
  64.  
  65. 11. 6.97        - New memory management system re-enabled.
  66.  
  67. 12. 6.97        - Signal numbers changed from BYTE to LONG (AllocSignalPPC,
  68.                   FreeSignalPPC)
  69.                 - Emulation of misaligned FP accesses done (implemented in
  70.                   warp.library). Author of the emulation: M.Rock.
  71.  
  72. 13. 6.97        - Heavy bug fixed: Sleep routine (executed if no tasks
  73.                   are running/ready) trashed the stack of a waiting task.
  74.                 - New library function 'WaitTime' allows to wait for a
  75.                   given time or for given signals.
  76.                 - Emulation of DCBZ to noncachable/writethrough locations
  77.                   implemented (warp.library)
  78.                 - V9.1
  79.  
  80. 14. 6.97        - New WarpOS support task 'Voyager' implemented which frees
  81.                   all memory allocated at 'CreateTaskPPC' if the task is
  82.                   removed.
  83.                 - New *private* library function 'ChangeStack' to change the
  84.                   PPC stack.
  85.                 - New tool 'stackppc' which works the same as the 'stack'
  86.                   command (using 'ChangeTask').
  87.                 - Bug fixed: mirror tasks didn't get double the stack size
  88.                   of the calling 68K process (as intended) because the
  89.                   field 'pr_Stacksize' isn't updated by the Shell when
  90.                   launching programs. The difference of TC_SPUPPER and
  91.                   TC_SPLOWER multiplied by 2 is taken now.
  92.                 - New library functions 'LockTaskList' and 'UnLockTaskList'
  93.                   allow to gain access to a list of all tasks.
  94.                 - New tool 'showtasks' prints out informations about all PPC
  95.                   tasks.
  96.                 - V9.2
  97.  
  98. 15. 6.97        - signal bit definition for SIGF_TIME changed from 2 to 9
  99.                   to avoid collisions with exec signals.
  100.                 - paged MMU setup implemented and activated
  101.                 - exception handlers are now called with MMU switched off.
  102.                   -> no critical locations like custom chip area (which must
  103.                   be accessed in noncachable mode) must be accessed anymore
  104.                 - new library functions 'SetExcMMU' and 'ClearExcMMU' allow
  105.                   to setup a temporary BAT based MMU setup in exception
  106.                   handling code to access critical locations as described
  107.                   above.
  108.  
  109. 16. 6.97        - BAT support done. The BAT registers are now a local resource
  110.                   of each task (like the normal registers) and they are
  111.                   switched by the scheduler.
  112.                 - New library function 'ChangeMMU' allows to change the MMU
  113.                   setup of the current task to standard or to BAT setup.
  114.                 - New tool 'changeMMU' performs the same action as the
  115.                   library function, but it can be controlled from the shell.
  116.  
  117. 17. 6.97        - bug fixed: mempools were not freed by mistake
  118.                 - MMU support for AllocVecPPC/FreeVecPPC implemented
  119.  
  120. 18. 6.97        - ******  Reincarnation of VOXELSPACE !!  *******
  121.                   the executable 'voxelspace' is now located in the demos
  122.                   drawer. To run the demo a separate archive is required.
  123.                   (voxel.lha). Welcome to warp speed! :)
  124.                 - PPC-Enforcer activated. First page is protected and all
  125.                   accesses to $400-$1000 are emulated. Load accesses to $4
  126.                   are emulated, too.
  127.                 - New library function 'GetInfo' allows to get many PPC
  128.                   related information
  129.                 - New tool 'showinfo' displays all information currently
  130.                   available by 'GetInfo'
  131.                 - V10.0
  132.  
  133. 22. 6.97        - bug fixed: if someone tried to open powerpc.library with
  134.                   too high version number, the powerpc.library was shut down.
  135.  
  136. 23. 6.97        - SIGF_TIME changed again (Bit 10)
  137.  
  138. 25. 6.97        - bug fixed which could cause deadlock at 68K-Calls
  139.                 - bug fixed: internal instruction cache flush was broken
  140.                 - signals are now completely transparent to the CPU's. All
  141.                   signals are transferred at Cross-Calls -> A PPC task can
  142.                   now be signaled by signaling its 68K mirror task and vice
  143.                   versa. All signal bits are mirrored.
  144.  
  145. 26. 6.97        - LN_TYPE field of a ppc task changed from NT_TASK to
  146.                   NT_PPCTASK (-> tasksppc.i)
  147.                 - The whole signal handling is now based on the 'virtual
  148.                   signal-pool'. Both CPU's share the signals and they can
  149.                   signal tasks on both CPU's directly (i.e. a PPC-Task can
  150.                   be signaled from 68K using exec/Signal with the PPCTask
  151.                   structure as first argument).
  152.                 - Now it's safe not to restore the nonvolatile registers if
  153.                   a PPC task exits by a single 'blr'. The smalldata base is
  154.                   now automatically transferred to an alternative exit
  155.                   routine, if one was specified at 'CreateTaskPPC'.
  156.                 - V10.1
  157.  
  158. 27. 6.97        - New library functions implemented for Message-Handling:
  159.                   CreateMsgPortPPC, DeleteMsgPortPPC, AddPortPPC, RemPortPPC,
  160.                   FindPortPPC, WaitPortPPC, PutMsgPPC, GetMsgPPC, ReplyMsgPPC
  161.  
  162. 28. 6.97        - A new PPC task now creates immediately a mirror 68K process
  163.                   if none exists.
  164.  
  165. 29. 6.97        - PutMsgPPC/ReplyMsgPPC can now be called from exception
  166.                   handlers.
  167.                 - V10.2
  168.  
  169. 13. 7.97        - New library function 'FreeAllMem' allows to free all
  170.                   allocations made by the calling task.
  171.  
  172. 15. 7.97        - If WarpOS is launched before ENV: is ready, then the
  173.                   env variables are read a second time, when the first
  174.                   RunPPC is performed (except for powerpc/debug)
  175.  
  176. 16. 7.97        - WarpOS-Documentation in AMIGAGuide-Format done (D)
  177.  
  178. 18. 7.97        - Dokumentation for Game-Development 'GameDev.guide'
  179.                   included in archive (D)
  180.                 - V11.0
  181.  
  182. 19. 7.97        - There was a tiny chance of problems with messages
  183.                   sent from exception handling code -> fixed
  184.  
  185. 20. 7.97        - Memory protection support implemented. Two new memory
  186.                   attributes for 'AllocVecPPC' allow to allocate memory,
  187.                   which is protected against other tasks (either full
  188.                   protected or write protected).
  189.                 - The tool 'showtasks' now displays the pagetable of each
  190.                   task.
  191.                 - The PPC-Code of the powerpc.library is now write-protected.
  192.                 - V11.1
  193.  
  194. 21. 7.97        - New library function 'CopyMemPPC' to copy memory areas.
  195.                 - New environment variable 'powerpc/memprot' allows to
  196.                   disable/enable the memory protection feature.
  197.                 - New 68K library functions 'AllocVec32' and 'FreeVec32'
  198.                   allow to allocate memory which can be shared with PPC tasks
  199.                 - New 68K library function 'SPrintF68K' allows to print
  200.                   debug information to the serial port/sushi.
  201.  
  202. 22. 7.97        - cache flush optimization for 68040/68060 didn't work at all
  203.                   -> fixed -> calling overhead decreased by 20 percent
  204.                 - InterCPU message handling implemented. New library functions
  205.                   'AllocXMsg', 'FreeXMsg' and 'PutXMsg' for 68K to alloc
  206.                   special InterCPU-Messages and to send them. New library
  207.                   functions 'AllocXMsgPPC', 'FreeXMsgPPC' and 'PutXMsgPPC' do
  208.                   the same for PPC.
  209.  
  210. 23. 7.97        - Various bugs related to MMU features fixed
  211.                 - C-Includes added to the WarpOS-Archive.
  212.                 - V11.2
  213.  
  214.  1. 8.97        - Changed the assembler macros RUNPOWERPC and RUNPOWERPC_XL
  215.                   (powerpc.i) to support direct PPC-Library-Calls from 68K-
  216.                   Functions. Note: the parameters 2-4 were shifted to the
  217.                   right by one. New parameter 2: The Library-Offset (used
  218.                   in the same way like in the macros RUN68K and RUN68K_XL).
  219.                 - All include files were equipped with checks to the
  220.                   constant POWERPCLIB_V7. If this symbol is defined then
  221.                   no structures/macros are assembled, which can only be used
  222.                   with powerpc.library V8+.
  223.                 - Added include file 'libraries/powerpc.i'. Including this
  224.                   file sets the constant mentioned above and allows to create
  225.                   V7-compatible applications.
  226.                 - Added the powerpc.library V7 and its history file to this
  227.                   archive (directory 'v7')
  228.  
  229.  2. 8.97        - Bug fixed: On PPC-Systems with CPU clocks between
  230.                   250-300 Mhz, the CPU clock returned by 'GetInfo' could
  231.                   have been wrong.
  232.                 - Bug fixed: 'GetInfo' returned a wrong page table size.
  233.                 - Improved the accuracy of the FP conversion in the crash
  234.                   requester which is used to display the FP registers as
  235.                   ASCII string.
  236.  
  237. 19. 8.97        - On some systems with small gfx address space, the gfx
  238.                   RAM was not placed into BAT registers. Now the powerpc.
  239.                   library tries to find out, where the gfx RAM is located
  240.                   (using cybergraphics.library) and puts the gfx RAM into
  241.                   BAT registers if possible (alignment must still be
  242.                   properly set).
  243.                 - New environment variable 'gfxaddr' allows to specify an
  244.                   address (either with or without $) to give the powerpc.
  245.                   library a hint, where the gfx RAM should be.
  246.                 - New versions of cybermand and voxelspace added.
  247.                 - V11.3
  248.  
  249. 27. 8.97        - Removed Gfx-RAM autodetection (seems to be somewhat risky)
  250.                 - Forgot to add warp.library 1.2 to the WarpOS-Archive.
  251.                   powerpc.library V11.3 didn't work at all...
  252.                   -> warp.library V1.2 added
  253.  
  254. 15. 9.97        - CyberstormPPC support added.
  255.                   WarpOS *WORKS* with the CyberStormPPC-Boards !! Cybermand
  256.                   is now 12-13 times faster on 604E/200 relative to 68060/50.
  257.                 - Added new version of voxelspace to the archive. Added
  258.                   special optimization for PPC604E.
  259.                 - Added voxel.readme and voxel_english.readme to the demos
  260.                   drawer. This file contains some notes about the usage of
  261.                   the voxelspace parameters and known problems.
  262.                 - Added english translations of WarpOS.guide and GameDev.guide.
  263.  
  264. 16. 9.97        - Added a correction stage at CPU-clock calculation (in
  265.                   function 'GetInfo'). The cpu clock is now displayed
  266.                   completely correctly.
  267.  
  268. 17. 9.97        - Problems with PPC-Enforcer and 604E fixed (NEVER use
  269.                   self modifying code yourself!). One 'sync'-instruction
  270.                   more, and everything works fine.
  271.  
  272. 18. 9.97        - New library functions GetSysTimePPC, AddTimePPC, SubTimePPC
  273.                   and CmpTimePPC for time measurement (also available vor V7)
  274.                 - New small demo program 'pixelOmania' to measure the
  275.                   context switch performance (i.e. to compare V7 and V8+)
  276.  
  277. 20. 9.97        - Added the 'WarpRace' application to the archive (drawer
  278.                   'WarpRace'). This application is a modular performance
  279.                   test program. Included are several modules and module
  280.                   sources.
  281.                   WarpRace and all modules so far work with powerpc.library V7.
  282.  
  283. 21. 9.97        - Added the 'landscape' demo to the archive (drawer
  284.                   'demos/landscape'), a fractal landscape generator.
  285.                 - Added new versions of 'tabletennis' and 'cyberpi' which
  286.                   don't crash anymore if the powerpc.library can't be opened.
  287.                   'Cyberpi' now supports both CPU's (new parameter M68K).
  288.                 - V12.0
  289.  
  290. 25. 9.97        - Corrected a bug in the warprace executable (CTRL-C only
  291.                   breaked the current recursion level)
  292.                 - Corrected a bug in warprace module 'Landscape.wrm' (mem
  293.                   allocation was broken)
  294.                 - New 68K library function 'GetPPCState' allows to get
  295.                   information about the state of the PPC and of PPC
  296.                   applications (officially available in V13)
  297.                 - New tool PPCState displays the result of 'GetPPCState'
  298.                 - V12.1
  299.  
  300. 27. 9.97        - New env-variable 'noPPC'. If this variable is 1, then
  301.                   the powerpc.library always returns 0 at initialization.
  302.                   This allows to use applications, which try to open
  303.                   the powerpc.library, without PPC boards (before, WarpOS
  304.                   simply crashed) if it supports the 68K too.
  305.  
  306. 29. 9.97        - Static board detection implemented. If problems occur or
  307.                   the 68060.library of the PowerUp-Distribution is not
  308.                   installed, the board type can be selected using the new
  309.                   env variable 'boardtype'.
  310.                   0  =  auto detection using 68060.library
  311.                   1  =  developer board
  312.                   2  =  CyberstormPPC
  313.                 - New env variable 'earlyterm' implemented (also for V7).
  314.                   If the variable is not 0, then the mirror task of a 68k
  315.                   task is removed at the last CloseLibrary of the 68k task,
  316.                   instead at removal of the task.
  317.                   Hope, this will fix the problems with WShell.
  318.                   The tools stackppc and changemmu DON'T work with earlyterm=1!
  319.                   Use the 68K command stack to modify the PPC stack (the PPC
  320.                   stack is about double the size of the 68K stack).
  321.                 - 12.2
  322.  
  323.  8.10.97        - RunPPC now interprets the PP_OFFSET field in the same way as
  324.                   Run68K does. If PP_OFFSET is zero, than it works as before,
  325.                   if it is not zero, a PPC library call is performed with the
  326.                   base in PP_CODE and the library vector offset in PP_OFFSET.
  327.                 - Description and prototypes of SetExcMMU and ClearExcMMU were
  328.                   missing. Corrected.
  329.                 - Bug fixed: FreeXMsgPPC trashed r2.
  330.                 - Inter-CPU messages can now be sent asynchronely, so they
  331.                   may not be answered anymore by the foreign task. But it is
  332.                   really important, that the processor frees the message which
  333.                   allocated it (even if it is another task).
  334.                 - Exec/Replymsg now doesn't crash anymore, when called with
  335.                   an InterCPU-msg without ReplyPort (but don't call exec/
  336.                   ReplyMsg nevertheless without ReplyPort, why should you?).
  337.                   Exec/ReplyMsg now simply does nothing in this case.
  338.                 - New library function SetReplyPortPPC allows to exchange the
  339.                   reply port of a message (internal PPC message or InterCPU
  340.                   message). Officially available in V13.
  341.                 - Added support of fields TC_SWITCH and TC_LAUNCH in the
  342.                   exec task structure. If the appropriate bits in TC_FLAGS
  343.                   are set, these functions are called whenever a PPC task
  344.                   looses resp. gets the CPU (equal behaviour like exec).
  345.                 - New library functions 'SnoopTask' and 'EndSnoopTask'
  346.                   allows to monitor the beginning and the end of a PPC task
  347.                   (useful for debuggers). Officially available in V13.
  348.                 - V12.3
  349.  
  350. 13.10.97        - Voxelspace 1.5 added. Window mode is now supported
  351.                   (only for gfx boards).
  352.                 - Cybermand 1.2 added. Window mode is now supported
  353.                   (also for PAL)
  354.  
  355. 14.10.97        - Landscape 1.1 added. Window mode is now supported
  356.                   (also for PAL)
  357.  
  358. 15.10.97        - Corrected clib/powerpc_protos.h (was very buggy)
  359.  
  360. 16.10.97        - Time Measurement was UNRELIABLE! Busclock could have
  361.                   been measured wrong. Corrected (once again, one 'sync'
  362.                   more...)
  363.                 - ChangeMMU was not correct. IBAT2 and DBAT2 were
  364.                   exchanged.
  365.  
  366. 22.10.97        - Bug fixed: FP-Registers f9-f13 were passed incorrectly
  367.                   to custom exception handlers.
  368.  
  369. 28.10.97        - Major internal change: all board specific stuff is
  370.                   moved from powerpc.library to warp.library. The
  371.                   powerpc.library is now completely board-independent
  372.                   and will work unmodified with all PPC boards.
  373.  
  374.                   The warp.library has now become a real HAL, since
  375.                   it now also provides access to board specific
  376.                   resources using a standardized interface.
  377.  
  378.                   IMPORTANT NOTE: The powerpc.library V12.4 and higher
  379.                   requires the warp.library V2 to be installed!!
  380.                 - Some bugfixes, which maybe could be responsible
  381.                   for some deadlocks in rare cases.
  382.                 - V12.4
  383.  
  384.  6.11.97        - Minor changes in powerpc/powerpc.i (macros RUNPOWERPC
  385.                   and RUNPOWERPC_XL) to avoid linker warnings.
  386.  
  387.  8.11.97        - Bug in clib/powerpc_protos.h fixed. The snoop functions
  388.                   were enabled for V7 by mistake.
  389.                 - V13.0
  390.  
  391. 22.11.97        - Oh, DAMN. Exec tasks couldn't use RunPPC because of
  392.                   DOS calls. These calls are now handled by a new
  393.                   support process called 'Babylon5'.
  394.                 - V13.1
  395.  
  396. 25.11.97        - Some 'sync' instructions added to warp.library (maybe
  397.                   this can solve some problems with PPC crashes). V2.1
  398.  
  399. 26.11.97        - The powerpc.library returns now 0, if ppc.library is
  400.                   active and if someone tries to open the powerpc.library.
  401.  
  402. 27.11.97        - Bugs fixed in pragma/powerpc_lib.h: SPrintF was written
  403.                   instead of SPrintF68K, and GetPPCState was enabled for
  404.                   V7, by mistake.
  405.  
  406.  1.12.97        - NOTE: it is possible, that a PPC application crashes,
  407.                   if it launches WarpOS (that means, if it is the first
  408.                   PPC application) AND if SnoopDos is monitoring
  409.                   exec/OpenLibrary. The crash seems to happen in the
  410.                   Patch of SnoopDos. Run a PPC program earlier or avoid
  411.                   monitoring exec/OpenLibrary with SnoopDos to avoid
  412.                   these problems!
  413.  
  414. 16.12.97        - New version of voxelspace added. It now supports
  415.                   OS3.0 multibuffering with P96 -> No flickering anymore!
  416.                   Use 'TURBOGFX' or 'WARP' as CLI parameter to switch
  417.                   on multibuffering.
  418.                 - V13.2
  419.  
  420.  6. 1.98        - Some tags and defines were missing in powerpc.h
  421.                   (GetInfo)
  422.  
  423.  2. 2.98        - New function 'GetHALInfo' allows to retrieve some
  424.                   information about the WarpUp HAL's status. At the moment
  425.                   the number of emulated alignment exceptions can be
  426.                   evaluated (might be useful to find performance bottlenecks)
  427.                   This function is officially available in V14.
  428.                 - New tool 'ShowHALInfo' displays all results of the
  429.                   function 'GetHALInfo'
  430.  
  431.  4. 2.98        - The WarpUp-HAL (warp.library) was splitted up into two
  432.                   parts: the main HAL and in a hardware driver. From
  433.                   warp.library V3 on, there must be installed a warpHW.library
  434.                   for a specific hardware.
  435.                   The new directory 'hwdrivers' contain all drivers currently
  436.                   available, a description how to make a new hardware driver
  437.                   and a StormC template project to help developing a new driver.
  438.                 - If warp.library V3+ is installed the env variable 'boardtype'
  439.                   is ignored and can be deleted.
  440.                 - The BlizzardPPC hardware driver is currently an untested
  441.                   prototype.
  442.                 - warp.library bumped to V3.0
  443.                 - A new tool 'GetDriverInfo' prints out an identification string
  444.                   of the currently active WarpUp hardware driver.
  445.  
  446.  5. 2.98        - A bug fixed, which was introduced with the reorganisation
  447.                   of the warp.library -> warp.library V3.1
  448.  
  449.  6. 2.98        - A lot of internal changes to support a special project.
  450.                   Most API functions were modified a bit, hopefully all
  451.                   should continue working properly.
  452.                 - V13.3
  453.  
  454. 10. 2.98        - First-Aid text updated. There are still too many people
  455.                   which don't know that WarpOS can't run in parallel with
  456.                   the ppc.library. UFF... Another note points to the problems
  457.                   with CyberGraphX versions with ppc.library support. The best
  458.                   solution is not to install this version. Better wait for
  459.                   a graphics software with REAL PowerPC support.
  460.  
  461.  1. 3.98        - Bug fixed in the WarpOS memory management system. Allocations
  462.                   > 512KB could go wrong (or always went wrong, I don't know).
  463.                 - Dynamic scheduler finally implemented. The new scheduler works
  464.                   very different to the old scheduler and improves the
  465.                   multitasking capabilities very much. Please have a look at the
  466.                   WarpOS documentation (Chapter 'multitasking/The WarpOS Kernel')
  467.                   to get more detailed information about the new scheduler.
  468.                 - Important: the old task priorities have no effect anymore! Use
  469.                   the NICE values to give more or less CPU time to specific
  470.                   tasks.
  471.                 - A lot of new elements added to the task structure (most
  472.                   private, a few read only)
  473.                 - New API function 'SetScheduling' allows to affect the reaction
  474.                   time of low-activity-tasks. Both low and high values can have
  475.                   advantages and disadvantages.
  476.                 - New tool 'sched' to set the reaction time mentioned above.
  477.                 - 'showtasks' now also prints out the NICE value and task ID.
  478.                   Note, that this version of 'showtasks' can't be used with
  479.                   earlier version of powerpc.library anymore.
  480.                 - 'showinfo' now also prints out CPU load and system load.
  481.                   This version also requires powerpc.library 14+.
  482.                 - Bug fixed: PPCtask structure definition in C header file was
  483.                   totally buggy.
  484.                 - New API function 'FindTaskByID' allows to get the task
  485.                   address by specifying the task's ID.
  486.                 - New tool 'stat' prints out task statistics, such as name,
  487.                   taskID, CPU usage, activity etc. This tool was written in C
  488.                   and the corresponding source is located in source/tools/stat/.
  489.                 - Bug fixed: creation of new 68K tasks in the powerpc.library
  490.                   could go wrong (which could maybe have prevented WarpOS from
  491.                   working on certain systems).
  492.                 - New: if a CLI-Background process creates a new mirror task,
  493.                   the name of the command is used for the PPC task name instead
  494.                   of the process' name (which was usually 'Background CLI_PPCx')
  495.                   This improves readability of the 'stat' output.
  496.                 - New PPC tasks (created by 68K tasks) now get at least
  497.                   32KByte stack.
  498.                 - ****************  IMPORTANT  ******************
  499.                   WarpOS failed on several systems due to stack problems of
  500.                   the RAMLIB (its stack is 2K on my machine, incredible...).
  501.                   The powerpc.library now performs stack swapping using
  502.                   exec/StackSwap where the critical (and stack-consuming)
  503.                   code parts are situated. This should especially solve
  504.                   those problems which occurred with RTGMasterPPC.
  505.  
  506.  2. 3.98        - C-Prototype file completely rearranged. The file
  507.                   clib/powerpc_protos.h has been made much more compatible
  508.                   to alternative compilers. The Storm-specific extensions
  509.                   are now located in the file stormprotos/powerpc_sprotos.h.
  510.                   Please design prototype files for future shared libraries
  511.                   in the same way to support all compilers.
  512.  
  513.  3. 3.98        - Bug fixed: Removing tasks which were created from the
  514.                   other CPU resulted in crashes.
  515.                 - New tool 'killppc' allows to remove PPC tasks by
  516.                   specifying the task ID (which can be evaluated using
  517.                   the 'stat' tool). Very useful to eliminate crashed
  518.                   tasks.
  519.                 - The source of 'killppc' is available in C
  520.                   (source/tools/killppc)
  521.                   Never kill the shell's mirror task while the shell operates
  522.                   on the 68K side.
  523.                 - The crash requester now also prints out the task ID
  524.                 - New API function 'SetNiceValue' allows to set NICE values
  525.                   of a task.
  526.                 - New tool 'niceppc' allows to set the NICE value of a
  527.                   PPC task. This can be used to affect the execution speed
  528.                   of tasks and it also affects reaction time.
  529.                 - The source of 'niceppc' is available in C.
  530.                 - TASKATTR_MOTHERPRI now also forces child tasks to get
  531.                   the mother's NICE value.
  532.                 - New task attribute TASKATTR_NICE to set the NICE value
  533.                   of new created tasks.
  534.  
  535.  4. 3.98        - Now it's allowed to free Inter-CPU messages sent from
  536.                   the foreign CPU using FreeXMsg[PPC]. But note, that this
  537.                   is internally done using a cross call.
  538.                 - Removed EXEC tasks were not always caught by the
  539.                   powerpc.library, because the task termination routine of
  540.                   EXEC doesn't call RemTask() over the library interface.
  541.                   Could lead to problems when killing its mirror task on the
  542.                   PPC side. Fixed now by a small AddTask() Patch.
  543.  
  544.  5. 3.98        - Now all memory allocated by a PPC task is freed at task
  545.                   removal. Earlier, only those entries in TC_MEMENTRY were
  546.                   freed.
  547.                 - The powerpc.library API is now also available in AmigaGuide
  548.                   format (see directory 'docs')
  549.                 - A new file 'includes.guide' is now in 'docs' which contains
  550.                   an overview of all include files.
  551.                 - Updated the WarpOS documentation.
  552.                 - Added a new Easyrequester which pops up if the ppc.library
  553.                   was detected.
  554.                 - The prototype of WaitPortPPC() was missing. Corrected.
  555.                 - Added FD file to the archive (include/fd/)
  556.                 - V14.0
  557.  
  558. 12. 3.98        - Bug fixed: Corrupt code caused problems with exception
  559.                   handlers.
  560.  
  561. 14. 3.98        - Problem detected. The ppc.library was put into
  562.                   the flash ROM of the Blizzard Board, therefore WarpOS
  563.                   can't work in the known way.
  564.  
  565. 16. 3.98        - More stack problems solved by exec/Stackswap. Implemented
  566.                   in warp.library -> V3.3
  567.                 - ELF terminator implemented. The env-variable 'Terminator'
  568.                   can be used to launch WarpOS while ppc.library is running.
  569.                   Any ELF activity is instantly terminated. Still does not
  570.                   solve the problems with the new boards.
  571.                 - A second Easyrequester implemented to warn the user before
  572.                   using the ELF terminator facility.
  573.                 - New env variable 'HideWarning' prevents both easy
  574.                   requesters from appearing. Note: the combination of
  575.                   Terminator = non-null and HideWarning=1 is dangerous,
  576.                   because the ELF-terminator is activated without any
  577.                   warning.
  578.                 - First Aid text updated, guess why.
  579.                 - 'stat' had a small bug. Additionally memory usage was
  580.                   decreased and source design was improved.
  581.                 - env-variable 'boardtype' removed
  582.  
  583. 27. 3.98        - New task flag TASKPPC_THROW implemented. If set, the task
  584.                   causes an instruction breakpoint exception when it is launched
  585.                   next time by the scheduler.
  586.                 - New tool 'throw' uses this flag and can be used to interrupt
  587.                   tasks which are caught in endless loops. C Sources are
  588.                   available.
  589.                 - Changed the tag EXCATTR_ID to EXCATTR_PRI (powerpc/powerpc.h).
  590.                   Please update your sources, if you used this tag.
  591.  
  592.  4. 4.98        - Added a note to the autodoc of FreeVecPPC concerning cache
  593.                   coherency. Only important for asynchron applications.
  594.                 - V14.1
  595.  
  596.  5. 4.98        - Finally the WarpOS prototype worked the first time on a
  597.                   Blizzard board!
  598.  
  599.  6. 4.98        - First Aid updated to solve the problems of the WarpUp demos
  600.                   in conjunction with CyberGFX emulation for AGA.
  601.  
  602. 10. 4.98        - More Blizzard problems solved.
  603.  
  604. 16  7.98        - Please include the line MCPRamlibPatch >nil: to your
  605.                   startup-sequence if you got RAMLIB errors with your
  606.                   Blizzard board.
  607.